import {DataTableColumn as NDataTableColumn} from 'naive-ui'

/**
 * 表格列配置的类型
 */
export type StnDataTableColumn = NDataTableColumn & {
  // 表格列的标题
  title: string;
  // 表格列是否禁用可以选中展示
  disableChecked?: boolean;
  // 表格列是否可拖拽，提供表格列配置数据时，可以不设置该值，如果没有设置该值，则会自动设置该值为 true
  draggable?: boolean;
  // 表格列是否选中展示，提供表格列配置数据时，可以不设置该值，如果没有设置该值，则会自动设置该值为 true
  checked?: boolean;
  // 表格列初始状态下，是否选中展示，无需设置该值，设置了也不会生效，该属性会自动根据表格列配置数据的 checked 属性设置该值
  originChecked?: boolean;
  // 表格列的排序，提供表格列配置数据时，无需设置该值，设置了也不会生效，会自动根据表格列配置数据的索引设置该值，即按照表格列数组中的顺序排序
  sort?: number;
  // 表格列初始状态下，是否固定列，无需设置该值，设置了也不会生效，该属性会自动根据表格列配置数据的 fixed 属性设置该值
  originFixed?: 'left' | 'right';
  // 表格列初始状态下，表格列的对齐方式，无需设置该值，设置了也不会生效，会自动根据表格列配置数据的 align 属性设置该值
  originAlign?: 'left' | 'center' | 'right';
}

/**
 * 表格列配置的类型
 */
export type StnDataTableColumns = Array<StnDataTableColumn>
